﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HCQ2_Model.Pay
{
    /// <summary>
    /// 扫码支付创建订单参数
    /// </summary>
    public class CreateOrder2Params: IPayUser
    {
        /// <summary>
        /// 【必填】购买人ID
        /// </summary>
        [Required(ErrorMessage = "购买人ID不能为空")]
        public string userid { get; set; }

        /// <summary>
        /// 【必填】订单来源；pc、web、mobile、wechat，默认：wechat
        /// </summary>
        [Required(ErrorMessage = "订单来源不能为空")]
        public string OrderSource { get; set; } = "wechat";
        
        /// <summary>
        /// 【必填】商品ID
        /// </summary>
        [Required(ErrorMessage ="商品ID不能为空")]
        public int? CommodityId { get; set; }

        /// <summary>
        /// 【必填】用户选择时长价格代码值
        /// </summary>
        [Required(ErrorMessage = "用户选择时长价格代码值不能为空")]
        public string PurchasePeriodCode { get; set; }

        /// <summary>
        /// 【必填】微信用户登录凭证，使用 code 换取 openid 和 session_key 等信息
        /// </summary>
        [Required(ErrorMessage = "微信用户登录凭证不能为空")]
        public string WxCode { get; set; }

        /// <summary>
        /// 小程序ID，<br/>
        /// 不为空，去数据库配置表中找对应密钥进行对应小程序支付预负单信息获取<br/>
        /// 为空，采用web.xml中配置的小程序ID和密钥进行预付单信息获取。
        /// 2021-10-7：添加
        /// </summary>
        public string AppId { get; set; }
    }
}
